As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to technologies such as cloud computing. Cloud computing, in general, is an approach to providing access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services are dynamically scalable to meet the needs of the services at any given time. A user or customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software to provide access to these resources.
Various services have been developed that enable a customer to adjust the compute capacity for an application or service in the cloud over time, making Web-scale computing easier for developers. In some cases, a Web service interface is provided that enables a customer to manage computing capacity, such as to obtain or boot new server instances in order to quickly scale capacity, both up and down, as computing requirements change.
Typically, access control of computing resources can be implemented using a cryptographic scheme, such as using asymmetric cryptography. Public and private key pairs can be generated for each user or at each time a user requests access to the computing resources. As the number of users or the number of requests grows, key management tends to become ever more difficult.
Accordingly, it is desirable to develop an improved systems, methods, and techniques for key management for access control of networked computer resources.